[versions]

dagger = "2.51"
glide = "4.16.0"
gson = "2.10.1"
html = "4.6.2"
java = "VERSION_1_8"

# Build constants
kotlinxCoroutinesAndroid = "1.7.3"
lifecycleViewmodelKtx = "2.7.0"
minSdk = "26"
compileSdk = "34"
navigationUiKtx = "2.7.7"
okhttp = "4.12.0"
retrofit = "2.10.0"
roomRuntime = "2.6.1"
targetSdk = "33"

# Detekt
detekt = "1.23.3"
detektTwitterComposeRules ="0.0.26"
viewbindingpropertydelegateNoreflection = "1.5.9"
kotlin = "1.9.22"
lifecycleViewmodelCompose = "2.7.0"

[libraries]

# Detekt
converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
core = { module = "io.noties.markwon:core", version.ref = "html" }
dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" }
dagger-compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" }
glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
html = { module = "io.noties.markwon:html", version.ref = "html" }
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinxCoroutinesAndroid" }
lifecycle-compiler = { module = "androidx.lifecycle:lifecycle-compiler", version.ref = "lifecycleViewmodelKtx" }
lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtx" }
lifecycle-viewmodel-savedstate = { module = "androidx.lifecycle:lifecycle-viewmodel-savedstate", version.ref = "lifecycleViewmodelKtx" }
logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
navigation-fragment-ktx = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "navigationUiKtx" }
navigation-ui-ktx = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "navigationUiKtx" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomRuntime" }
room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomRuntime" }
room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomRuntime" }
simple-ext = { module = "io.noties.markwon:simple-ext", version.ref = "html" }
staticAnalysis-detektPlugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "detekt" }
staticAnalysis-detektCli = { module = "io.gitlab.arturbosch.detekt:detekt-cli", version.ref = "detekt" }
staticAnalysis-detektApi = { module = "io.gitlab.arturbosch.detekt:detekt-api", version.ref = "detekt" }
staticAnalysis-detektTest = { module = "io.gitlab.arturbosch.detekt:detekt-test", version.ref = "detekt" }
staticAnalysis-detektFormatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
staticAnalysis-detektLibraries = { module = "io.gitlab.arturbosch.detekt:detekt-rules-libraries", version.ref = "detekt" }
staticAnalysis-detektTwitterComposeRules = { module = "com.twitter.compose.rules:detekt", version.ref = "detektTwitterComposeRules" }

# AndroidX
androidX-core = "androidx.core:core-ktx:1.12.0"
androidX-appCompat = "androidx.appcompat:appcompat:1.6.1"

# UI layer libraries
ui-material = "com.google.android.material:material:1.11.0"
ui-constraintLayout = "androidx.constraintlayout:constraintlayout:2.1.4"

# Unit tests
unitTests-junit = "junit:junit:4.13.2"

# UI tests
uiTests-junitExt = "androidx.test.ext:junit:1.1.5"
uiTests-espressoCore = "androidx.test.espresso:espresso-core:3.5.1"
viewbindingpropertydelegate-noreflection = { module = "com.github.kirich1409:viewbindingpropertydelegate-noreflection", version.ref = "viewbindingpropertydelegateNoreflection" }
lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycleViewmodelCompose" }

[bundles]
[plugins]
kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
